package mbeans;

import java.sql.SQLException;
import java.util.List;

import javax.faces.context.FacesContext;
import arq.Mensagens;
import dao.UsuarioDAO;
import entidade.Usuario;

public class BuscaClientesMBean {
	
	private Usuario usuario;
	private static List<Usuario> listaUsuario;
	
	public BuscaClientesMBean(){
		usuario = new Usuario();
		//listaUsuario = null;
	}
	
	public String buscar(){
		
		listaUsuario = getListClienteByNomeCpf();
				
		if( listaUsuario.size() == 0 )
			Mensagens.addMensagemError("Nenhum resultado encontrado.");

		return "buscaCliente";
	}
		
	public List<Usuario> getListClienteByNomeCpf( ){
		List<Usuario> list = null;
		
		try
		{
			UsuarioDAO dao = new UsuarioDAO();
			list = dao.findUsuariosByNomeCpf(usuario.getNome(), usuario.getCPF());
		}
		catch(SQLException e)
		{
			e.printStackTrace();
		}
		
		return list;
	}
	
	public String VisualizaCliente(){
		usuario = 
			(Usuario)FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("cliente");
		
		return "visualizarDadosCliente";
	}
	
	public String RemoverCliente(){
		usuario = 
			(Usuario)FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("cliente");
		
		try
		{
			UsuarioDAO dao = new UsuarioDAO();
			dao.removeUsuarioByCPF(usuario.getCPF());
			listaUsuario = null;
			
			Mensagens.addMensagemInfo("Usuario removido com sucesso.");
			return "index";
		}
		catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public List<Usuario> getListaUsuario() {
		return listaUsuario;
	}

	public void setListaUsuario(List<Usuario> listaUsuario) {
		BuscaClientesMBean.listaUsuario = listaUsuario;
	}

}
